{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.datasets.samples_generator import make_blobs\n",
    "from sklearn.metrics import adjusted_rand_score\n",
    "from sklearn import mixture"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 产生分隔的高斯分布的聚类簇 样本分布见 6-1\n",
    "# centers 核心点的数组\n",
    "# num 样本数\n",
    "# std 每簇的标准差\n",
    "def create_data(centers,num=1000,std=0.7):\n",
    "    x, labels_true = make_blobs(n_samples=num, centers=centers, cluster_std=std)\n",
    "    return x, labels_true"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def test_GM(*data):\n",
    "    x,labels_true = data\n",
    "    gm = mixture.GaussianMixture()\n",
    "    gm.fit(x)\n",
    "    predicted_labels = gm.predict(x)\n",
    "    print('ARI:{0}'.format(adjusted_rand_score(labels_true,predicted_labels))) #ARI 可以理解为聚类效果 越大越好"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ARI:0.0\n"
     ]
    }
   ],
   "source": [
    "x, labels_true = create_data(((1,1),(2,2),(1,2),(10,20)),1000,0.5)\n",
    "test_GM(x, labels_true)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 簇数量的影响\n",
    "def test_GM_n_components(*data):\n",
    "    x,labels_true = data\n",
    "    nums = range(1,50)\n",
    "    ARIs =[]\n",
    "    for num in nums:\n",
    "        gm =  mixture.GaussianMixture(n_components=num)\n",
    "        gm.fit(x)\n",
    "        predicted_labels = gm.predict(x)\n",
    "        ARIs.append(adjusted_rand_score(labels_true,predicted_labels))\n",
    "        \n",
    "    # 绘图\n",
    "    fig = plt.figure()\n",
    "    fig.set_figheight(5)\n",
    "    fig.set_figwidth(15)\n",
    "    ax = fig.add_subplot(111)\n",
    "    ax.plot(nums, ARIs, marker='+')\n",
    "    ax.set_xlabel('n_components')\n",
    "    ax.set_ylabel('ARI')\n",
    "    fig.suptitle('GM')\n",
    "    plt.show()\n",
    "\n",
    "x, labels_true = create_data(((1,1),(2,2),(1,2),(10,20)),1000,0.5)\n",
    "test_GM_n_components(x, labels_true)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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IiIi2adkb5hsWPk3AALjJ2Y3EBEREREREZTsDZv6tasAKJ46J8uRiIiIiIiIKNkbNuGazQBMmn9CVuMQEREREREBJXvDp7GRhMHsRadlOxIREREREREle8Ml2NJJaxHkFWiCFhERERERyT4le8Mkrz1GW5FlOwwRERERERFAyd6wKWp3hIuC2Q5DREREREQEULI3LKLhLkrbobskP9uhiIiIiIiIAEr2hsXGN54n0ANUlGc7FBEREREREUDJ3rDYtvoFAHInT8tyJCIiIiIiIp6MJntmdq6ZrTWz9WZ2zQDvh8xsafL9F81seibjGW7Vp57GmnlHcNj3fgPA3DufZs28I6g+VcsviIiIiIhIdmUs2TMzP3A7cB4wH7jEzOb3Oe0TQLNz7nDgZuD7mYonExINDftULiIiIiIicrBksmXvBGC9c26jc64b+B1wYZ9zLgR+mdx/AHinmWn9AhERERERkQOUyWSvCtjW63h7smzAc5xzcaAVqOh7ITO73MxWmNmKnTt3ZihcERERERGR0WNETNDinLvDOXecc+64cePGZTscERERERGRQ14mk70dwGG9jqckywY8x8wCQAnQmMGYRERERERExoRMJnvLgdlmNsPMcoCLgYf7nPMwcGly/wPAU845l8GYhpW/snKfykVERERERA6WQKYu7JyLm9lngb8AfuBu59xqM7seWOGcexi4C/iVma0HmvASwhFjznPPZjsEERERERGRAWUs2QNwzj0KPNqn7Bu99iPARZmMQUREREREZCwaERO0iIiIiIiIyL5RsiciIiIiIjIKKdkTEREREREZhZTsiYiIiIiIjEJK9kREREREREYhJXsiIiIiIiKjkI2gNcwBMLOdwJYMXLoSaMjAdUUGo2dPskHPnWSLnj3JBj13ki2ZevamOefGDXbSiEv2MsXMVjjnjst2HDL26NmTbNBzJ9miZ0+yQc+dZEu2nz114xQRERERERmFlOyJiIiIiIiMQkr29rgj2wHImKVnT7JBz51ki549yQY9d5ItWX32NGZPRERERERkFFLLnoiIiIiIyCikZE9ERERERGQUUrIHmNm5ZrbWzNab2TXZjkdGLzO728zqzeyNXmXlZrbMzNYlX8uyGaOMPmZ2mJk9bWZvmtlqM7syWa5nTzLGzHLN7CUzezX53F2XLJ9hZi8mv3OXmllOtmOV0cnM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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 协方差类型的影响\n",
    "def test_gm_cov_type(*data):\n",
    "    x,labels_true = data\n",
    "    nums = range(1,50)\n",
    "    # 绘图\n",
    "    fig = plt.figure()\n",
    "    fig.set_figheight(5)\n",
    "    fig.set_figwidth(15)\n",
    "    ax = fig.add_subplot(111)\n",
    "    \n",
    "    cov_types = ['spherical','tied','diag','full']\n",
    "    markers = '+o*s'\n",
    "    for i, cov_type in enumerate(cov_types):\n",
    "        ARIs =[]\n",
    "        for num in nums:\n",
    "            gm = mixture.GaussianMixture(n_components=num, covariance_type=cov_type)\n",
    "            gm.fit(x)\n",
    "            predicted_labels = gm.predict(x)\n",
    "            ARIs.append(adjusted_rand_score(labels_true,predicted_labels))\n",
    "        ax.plot(nums, ARIs, marker=markers[i], label='covariance_type: {0}'.format(cov_type))\n",
    "        \n",
    "    ax.set_xlabel('n_components')\n",
    "    ax.set_ylabel('ARI')\n",
    "    ax.legend(loc='best')\n",
    "    fig.suptitle('GM')\n",
    "    plt.show()\n",
    "\n",
    "x, labels_true = create_data(((1,1),(2,2),(1,2),(10,20)),1000,0.5)\n",
    "test_gm_cov_type(x, labels_true)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
